Skip to content

허수빈 week3 과제#43

Merged
bk-git-hub merged 2 commits intosxxbxxnyfrom
sxxbxxny-week3
Apr 4, 2026
Merged

허수빈 week3 과제#43
bk-git-hub merged 2 commits intosxxbxxnyfrom
sxxbxxny-week3

Conversation

@sxxbxxny
Copy link
Copy Markdown

@sxxbxxny sxxbxxny commented Apr 2, 2026

✅ 제출 정보

  • Week: Week <03>

✅ 체크리스트 (필수)

  • PR의 base branchmain이 아니라 내 GitHub 핸들 브랜치(<handle>)다
  • compare branch가 <handle>-week-xx 형식이다
  • 변경 사항이 이번 주 과제 범위에 해당한다
  • (필요 시) 실행 방법을 적었다
  • (가능하면) 결과 스크린샷/데모 링크를 첨부했다

🧩 구현 내용 요약

  • state로 입력값과 목록 관리, 입력 중(focus), 이벤트 처리 구현(나머지 부분은 전 주와 같음)
  • 기본 상태
스크린샷 2026-04-02 190518
  • 입력 중(focus)
스크린샷 2026-04-02 190558
  • 새로운 할 일 '물 2L 마시기' 추가
스크린샷 2026-04-02 190610
  • 기존 할 일 '프로젝트 회의 준비' 삭제, '운동 30분 하기' 완료 처리
스크린샷 2026-04-02 190633

❓ 궁금한 점

return (
<div className="todo-card">
<div className={`todo-card__check ${done ? "todo-card__check--done" : ""}`}>
<div
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

완료/미완료처럼 체크 상태를 바꾸는 기능이라면, 지금처럼 div에 클릭 이벤트를 다는 것보다는 input type=checkbox처럼 상태 의미가 드러나는 요소를 사용하는 편이 더 자연스럽습니다.

onBlur,
}: TodoListProps) {
return (
<div className="todo-list">
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이전에도 말씀드렸던 부분인데, 리스트를 보여주는 영역이라면 div 나열보다 ulli 구조로 맞춰두면 의미가 더 자연스럽습니다. 지금은 TodoCard가 반복 렌더링되고 있어서 리스트 마크업으로 바꾸기에도 잘 맞는 구조예요.

white-space: nowrap;
color: #FFF;
text-align: center;
font-family: Pretendard;
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CSS에서 Pretendard를 사용하고 있는데 현재 프로젝트에는 이 폰트를 실제로 불러오는 코드가 보이지 않아요. 의도한 폰트를 쓰고 싶다면 import까지 같이 넣어두면 더 좋겠습니다.

Copy link
Copy Markdown
Collaborator

@bk-git-hub bk-git-hub left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

수빈님 고생 많으셨습니다! 이번 PR에서는 useState로 입력값과 todo 배열을 연결하고, add/delete/toggle 흐름까지 자연스럽게 구현해주신 점이 좋았습니다. empty state까지 실제 동작 안에서 이어지도록 만든 점도 인상적이었어요.

다만 이전 리뷰에서 말씀드렸던 semantic list markup이나 폰트 import 같은 기본 구조 포인트는 아직 일부 남아 있습니다. 이번 리뷰에서는 체크 토글의 의미와 리스트 구조처럼 코드의 완성도를 조금 더 높여주는 부분 위주로 코멘트를 남겼습니다. 다음 PR에서는 이전 피드백 반영 여부도 같이 챙겨보시면 훨씬 더 탄탄해질 것 같습니다.

<span className={`todo-card__text ${done ? "todo-card__text--done" : ""}`}>
{text}
</span>
<button className="delete-button" onClick={onDelete}>
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이 삭제 버튼은 아이콘만 있어서 스크린리더 입장에서는 의미가 조금 모호할 수 있어요. aria-label 속성을 붙여두면 버튼의 의미가 더 분명해집니다.

@bk-git-hub bk-git-hub merged commit ce0facc into sxxbxxny Apr 4, 2026
5 checks passed
@bk-git-hub bk-git-hub deleted the sxxbxxny-week3 branch April 4, 2026 04:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants